Lo que tengo es algún tipo de objeto, la estructura es desconocida para mí de antemano, y también recibo la clave (en forma de cadena) para algún valor que necesito, que está contenido dentro de ese objeto. El problema surge cuando el valor que necesito está anidado dentro de una matriz.
let someObject = { nonProblematicValue: "all good", arrayOfValues: ["can't touch this"] } let keyThatWorks = "nonProblematicValue"; let keyThatDoesNotWork = "arrayOfValues[0]"He intentado
someObject[keyThatDoesNotWork] //undefined someObject.[keyThatDoesNotWork] //undefinedSé que podría hacerse usando eval, pero esa no es una opción debido a la configuración del servidor.
Puedes usar Lodash#get :
let someObject = { nonProblematicValue: "all good", arrayOfValues: ["can't touch this"] } let keyThatDoesNotWork = "arrayOfValues[0]" console.log(_.get(someObject, keyThatDoesNotWork)) <script src="https://cdn.jsdelivr.net/npm/lodash@4.17.21/lodash.min.js"></script>